package com.blueocean_health.care.management.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.blueocean_health.care.management.domain.base.UserAccount;
import com.blueocean_health.care.management.domain.dto.UserAccountDto;
import com.blueocean_health.care.management.domain.vo.UserAccountVo;
import com.blueocean_health.care.management.util.MyMapper;

/**
 * 用户管理模块  2018年4月17日10:34:57
 * @author wuyanli
 *
 */
@Repository
public interface UserAccountMapper extends MyMapper<UserAccount> {
	
	/**
	 * 重置密码  2018年4月20日14:38:34
	 * @param map
	 * @return
	 */
	int resetPassword(Map<String,String> map);
	
	/**
	 * 根据用户名查询用户信息  2018年4月20日14:29:26
	 * @param userName 
	 * @param userId
	 * @return
	 */
	UserAccountDto getUserByUserName(@Param("userName")String userName, @Param("userId")String userId);
	/**
	 * 根据用户名 密码或者用户Id查询用户信息  2018年4月18日14:17:55
	 * @param map
	 * @return
	 */
	UserAccountDto getUserAccountInfo(Map<String,String> map);
	
	/**
	 * 新增用户
	 * @param user
	 * @return
	 */
	int addUser(UserAccount user);
	
	/**
	 * 修改用户信息
	 * @param user
	 * @return
	 */
	int updateUser(UserAccount user);
	
	/**
	 * 删除用户
	 * @param userId
	 * @return
	 */
	int deleteUser(String userId);
	
	/**
	 * 查看用户详情
	 * @param userId
	 * @return
	 */
	UserAccountVo query(String userId);
	/**
	 * 查看用户列表
	 * @param map
	 * @return
	 */
	List<UserAccountVo> list(Map<String, Object> map);
	/**
	 * 根据用户名和密码查询用户信息
	 * @param userAccount
	 * @return
	 */
	UserAccount getCurrentUserInfo(UserAccount userAccount);
}